package com.babyqiao.wallpaper.manager.service;


import com.babyqiao.wallpaper.manager.controller.dto.AddAlbumParams;
import com.babyqiao.wallpaper.manager.entity.WallpaperAlbum;
import com.babyqiao.wallpaper.manager.controller.dto.AlbumQuery;
import com.babyqiao.wallpaper.manager.entity.vo.ActorResVO;
import com.babyqiao.wallpaper.manager.entity.vo.AlbumResVO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author qinglongzhai
 */
public interface AlbumService extends IService<WallpaperAlbum> {
    /**
     * 添加查询条件
     *
     * @Author qinglongZhai
     * @Date 2020/12/9
     *  @param albumQuery:条件
     * @param albumQuery:分页
     *  @return: com.baomidou.mybatisplus.core.conditions.query.QueryWrapper<com.babyqiao.wallpaper.manager.entity.Album>
     */

    public Page<AlbumResVO> addSelectCondition(Page<AlbumResVO> page,AlbumQuery albumQuery);

    /**
     * @param state: 上下线状态
     *               * @return: com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper<com.babyqiao.wallpaper.manager.entity.Album>
     * @Author qinglongZhai
     * @Date 2020/12/10
     * * @param id: 专辑ID
     */

    public UpdateWrapper<WallpaperAlbum> addUpdataCondition(String id, Integer state);

    /**
     *添加专辑
     * @Author QLZ
     * @Date 2021/2/20
     *  @param addAlbumParams: 添加专辑的参数
     *  @return: boolean
     */

    boolean addAblumService(AddAlbumParams addAlbumParams);

    /**
     *修改专辑
     * @Author QLZ
     * @Date 2021/2/20
     *  @param addAlbumParams:修改专辑的参数
     *  @return: boolean
     */

    boolean updateAlbumService(AddAlbumParams addAlbumParams);

    /**
     *获得全部专辑
     * @Author QLZ
     * @Date 2021/2/20
     *
     *  @return:
     */

    List<AlbumResVO> getAllAlbumService();

    /**
     *根据id获取专辑
     * @Author QLZ
     * @Date 2021/2/20
     *
     *  @return: com.babyqiao.wallpaper.manager.entity.vo.AlbumResVO
     */

    AlbumResVO getAlbumbyIdService(String id);

    /**
     *删除专辑同时删除标签关联表中的关系
     * @Author QLZ
     * @Date 2021/2/21
     *  @param id: 专辑id
     *  @return: boolean
     */

    boolean delAlbumService(String id);
}
